package gui;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import marca.marcaExceptions.MarcaJaCadastradaException;
import marca.marcaExceptions.MarcaNaoCadastradaException;
import marca.marcaExceptions.MarcaNaoInformadaException;
import marca.marcaExceptions.MarcaNomeNaoInformadaException;
import marca.marcaExceptions.MarcaTipoNaoInformadoException;
import tipo.tipoExceptions.TipoJaCadastradoException;
import tipo.tipoExceptions.TipoNaoCadastradoException;
import tipo.tipoExceptions.TipoNaoInformadoException;
import tipo.tipoExceptions.TipoNomeNaoInformadoException;
import veiculo.exceptions.VeiculoKmNaoInformadaException;
import veiculo.exceptions.VeiculoNomeNaoInformadoException;
import veiculo.exceptions.VeiculoPlacaJaCadastradaException;
import veiculo.exceptions.VeiculoPlacaNaoInformadaException;
import veiculo.exceptions.VeiculoJaCadastradoException;
import veiculo.exceptions.VeiculoMarcaNaoInformadaException;
import veiculo.exceptions.VeiculoNaoCadastradoException;
import veiculo.exceptions.VeiculoNaoDisponivelCadastradoException;
import veiculo.exceptions.VeiculoNaoInformadoException;
import veiculo.exceptions.VeiculoValorDiaNaoInformadoException;
import veiculo.exceptions.VeiculoValorKmNaoInformadoException;
import veiculosLocado.veiculosLocadoExceptions.VeiculoJaFoiLocadoException;
import fachada.Fachada;
import fachada.fachadaExecpions.NumeroInvalidoException;


public class FazendoTestes {

	
	public static void main(String[] args) {
		Fachada fachada = new Fachada();
		
	try {
		fachada.adicionarTipo("Carro");
		fachada.adicionarTipo("Moto");
		fachada.adicionarMarca("Hynday", "1");
		fachada.adicionarMarca("Wolskwagem", "1");
		fachada.adicionarMarca("Fiat", "1");
		
		fachada.adicionarVeiculo("jmd1322", "I 30", "1", "30.00", "0", "234");
		fachada.adicionarVeiculo("jmJ2332", "Gol GTI", "2", "30.00", "0", "234");
		
		String [][] veiculos = fachada.listarVeiculos();
		
		System.out.println(veiculos[0][2]);
		System.out.println(veiculos[1][2]);
		
		
		fachada.removerVeiculo("1");
		veiculos = fachada.listarVeiculos();
		
		System.out.println(veiculos.length);
		
		System.out.println(fachada.pesquisarVeiculo("2")[2]);
		fachada.removerVeiculo("2");
		veiculos = fachada.listarVeiculos();
		System.out.println(veiculos.length);
	} catch (NumeroInvalidoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (VeiculoNaoInformadoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (VeiculoPlacaNaoInformadaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (VeiculoMarcaNaoInformadaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (VeiculoJaCadastradoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (TipoNaoInformadoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (TipoNomeNaoInformadoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (TipoJaCadastradoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (MarcaNomeNaoInformadaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (MarcaTipoNaoInformadoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (MarcaJaCadastradaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (MarcaNaoCadastradaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (MarcaNaoInformadaException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (TipoNaoCadastradoException e) {
		JOptionPane.showMessageDialog(null, e.getMessage());
	} catch (VeiculoNaoCadastradoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoNaoDisponivelCadastradoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoJaFoiLocadoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoNomeNaoInformadoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoPlacaJaCadastradaException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoValorDiaNaoInformadoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoValorKmNaoInformadoException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (VeiculoKmNaoInformadaException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		
	}
	
	
}
